package ar.com.uade.administradorsiembra.modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

public class Siembra extends Entidad{
	private Cereal cereal;
	private Float cantidadSembrada;
	private Date fechaDesde;
	private Date fechaHasta;
	private List<ItemSiembra> distribucionSiembra;
	
	public Siembra() {
		this.distribucionSiembra = new ArrayList<ItemSiembra>();
	}
	

	public Siembra(Cereal cereal, Date fechaDesde, Date fechaHasta) {

		this.cereal = cereal;
		this.fechaDesde = fechaDesde;
		this.fechaHasta = fechaHasta;
		this.distribucionSiembra = new ArrayList<ItemSiembra>();

	}

	public void sembrarLote(Lote lote) {
		Float cantidadSembrada = lote.getArea() * cereal.getRendimiento();
		ItemSiembra item = new ItemSiembra(lote, this.cereal,cantidadSembrada);				
		this.distribucionSiembra.add(item);
		this.cantidadSembrada = +cantidadSembrada;
		item.sembrarLote();
	}

	public Date getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(Date fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public Date getFechaHasta() {
		return fechaHasta;
	}

	public void setFechaHasta(Date fechaHasta) {
		this.fechaHasta = fechaHasta;
	}

	public Cereal getCereal() {
		return cereal;
	}

	public Float getCantidadSembrada() {
		return cantidadSembrada;
	}

	public LinkedList<Lote> getLotesSembrados() {
		// TODO Auto-generated method stub
		LinkedList<Lote> lotes = new LinkedList<Lote>();
		for (ItemSiembra item : this.distribucionSiembra) {
			lotes.add(item.getLote());
		}

		return lotes;
	}

	public List<ItemSiembra> getDistribucionSiembra() {
		return distribucionSiembra;
	}

	public void setDistribucionSiembra(List<ItemSiembra> distribucionSiembra) {
		this.distribucionSiembra = distribucionSiembra;
	}
	
	

}
